<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Bakalarka: Dokumentace třídy reader</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generováno programem Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Hlavní&nbsp;stránka</span></a></li>
      <li class="current"><a href="annotated.html"><span>Třídy</span></a></li>
      <li><a href="files.html"><span>Soubory</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Seznam&nbsp;tříd</span></a></li>
      <li><a href="hierarchy.html"><span>Hierarchie&nbsp;tříd</span></a></li>
      <li><a href="functions.html"><span>Seznam&nbsp;členů&nbsp;tříd</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Dokumentace třídy reader</h1><!-- doxytag: class="reader" -->Rozhraní před lexikální analýzou.  
<a href="#_details">...</a>
<p>
<code>#include &lt;<a class="el" href="reader_8h-source.html">reader.h</a>&gt;</code>
<p>

<p>
<a href="classreader-members.html">Seznam všech členů.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Třídy</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreader_1_1bufferOverflow.html">bufferOverflow</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vyjímka při přeteční bufferu.  <a href="classreader_1_1bufferOverflow.html#_details">...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Veřejné metody</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreader.html#ac7c6872a2397e85c386e0aa8fd3830d">reader</a> (std::istream *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Konstruktor readeru.  <a href="#ac7c6872a2397e85c386e0aa8fd3830d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreader.html#b7db2f36162833d7ed4868735dc37a20">initialize</a> ()  throw (std::ifstream::failure)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inicializace readeru.  <a href="#b7db2f36162833d7ed4868735dc37a20"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreader.html#b94022e58acaf26576e4f3bc6eabf676">getCurrentChar</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Aktualní znak.  <a href="#b94022e58acaf26576e4f3bc6eabf676"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreader.html#5335fe3b977c254eaeaf5411559af797">getChar</a> ()  throw (std::ifstream::failure)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vrací následující znak.  <a href="#5335fe3b977c254eaeaf5411559af797"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreader.html#2218d2db9fff10fc9ab022c342864090">getBack</a> ()  throw (bufferOverflow)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Posouvá ukazatel.  <a href="#2218d2db9fff10fc9ab022c342864090"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreader.html#5d8fea8c1354fa9ebd3450fd44e8ace1">getLength</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Délka aktualně přečtených dat.  <a href="#5d8fea8c1354fa9ebd3450fd44e8ace1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreader.html#d1ad67ee5bc2f72306e182a6eee2bdfa">getString</a> (std::string &amp;, int) const   throw (bufferOverflow)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Přečte řetězec.  <a href="#d1ad67ee5bc2f72306e182a6eee2bdfa"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailní popis</h2>
Rozhraní před lexikální analýzou. 
<p>
Připravuje vstupní soubor k lexikální analýze. Jejím cílem je, zprostředkovat rozhraní, které pomocí vestavěných bufferů bude vracet vždy jeden znak z vstupního souboru , vracet se zpět minimálně jeden znak zpět, a vracet řetězec z bufferu. <hr><h2>Dokumentace konstruktoru a destruktoru</h2>
<a class="anchor" name="ac7c6872a2397e85c386e0aa8fd3830d"></a><!-- doxytag: member="reader::reader" ref="ac7c6872a2397e85c386e0aa8fd3830d" args="(std::istream *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">reader::reader           </td>
          <td>(</td>
          <td class="paramtype">std::istream *&nbsp;</td>
          <td class="paramname"> <em>file</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Konstruktor readeru. 
<p>
<dl compact><dt><b>Parametry:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>Vstupní stream. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Dokumentace k metodám</h2>
<a class="anchor" name="2218d2db9fff10fc9ab022c342864090"></a><!-- doxytag: member="reader::getBack" ref="2218d2db9fff10fc9ab022c342864090" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void reader::getBack           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw (<a class="el" href="classreader_1_1bufferOverflow.html">bufferOverflow</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Posouvá ukazatel. 
<p>
Posune ukazatel o jeden znak zpět. Může nastat vyjímka spojená s přetečením bufferu. 
</div>
</div><p>
<a class="anchor" name="5335fe3b977c254eaeaf5411559af797"></a><!-- doxytag: member="reader::getChar" ref="5335fe3b977c254eaeaf5411559af797" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int reader::getChar           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw (std::ifstream::failure)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Vrací následující znak. 
<p>
Posouvá ukazatel o jeden znak vpřed, a vrací nový znak. Může nastat vyjímka spojená s chybou čtení souboru. 
</div>
</div><p>
<a class="anchor" name="b94022e58acaf26576e4f3bc6eabf676"></a><!-- doxytag: member="reader::getCurrentChar" ref="b94022e58acaf26576e4f3bc6eabf676" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int reader::getCurrentChar           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Aktualní znak. 
<p>
Vrací znak, na který se právě ukazuje. Neposouvá ukazatel a nemění stav objektu. 
</div>
</div><p>
<a class="anchor" name="5d8fea8c1354fa9ebd3450fd44e8ace1"></a><!-- doxytag: member="reader::getLength" ref="5d8fea8c1354fa9ebd3450fd44e8ace1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long reader::getLength           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Délka aktualně přečtených dat. 
<p>
Vrací délku dat, která byl již přečtena. Nepočítají se skoky zpět atd.. Délka dat reprezentuje aktuaní pozici. 
</div>
</div><p>
<a class="anchor" name="d1ad67ee5bc2f72306e182a6eee2bdfa"></a><!-- doxytag: member="reader::getString" ref="d1ad67ee5bc2f72306e182a6eee2bdfa" args="(std::string &amp;, int) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string &amp; reader::getString           </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>lexem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const  throw (<a class="el" href="classreader_1_1bufferOverflow.html">bufferOverflow</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Přečte řetězec. 
<p>
Přečte řetězec z bufferu z aktualní pozice - délka řetězce. <dl compact><dt><b>Parametry:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lexem</em>&nbsp;</td><td>String do kterého se řetězec uloží. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Délka řetězce, který se má zapsat. Zapíše se řetězec , který se nachazí o len nalevo od aktualní pozice a končí aktualní pozicí. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="b7db2f36162833d7ed4868735dc37a20"></a><!-- doxytag: member="reader::initialize" ref="b7db2f36162833d7ed4868735dc37a20" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void reader::initialize           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw (std::ifstream::failure)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Inicializace readeru. 
<p>
Musí být vždy provedena před voláním, funkcí které vracejí jakákoli data z bufferu. Jako např. <a class="el" href="classreader.html#5335fe3b977c254eaeaf5411559af797" title="Vrací následující znak.">getChar()</a> ... Při inicializaci může nastat vyjímka spojená s chybou čtení souboru. 
</div>
</div><p>
<hr>Dokumentace pro tuto třídu byla generována z následujících souborů:<ul>
<li>src/<a class="el" href="reader_8h-source.html">reader.h</a><li>src/reader.cpp</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generováno Tue Mar 2 10:34:17 2010 pro projekt Bakalarka programem&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>
